<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>

    </style>
</head>
<body>
    <!-- <ul id="ul">
      <li>1</li>
    </ul>
    <button id="btn">add</button> -->
    <script>
      // function add () {
      //   let li = document.createElement('li')
      //   li.innerHTML = 10
      //   document.getElementById('ul').appendChild(li)
      // }
      //   document.getElementById('btn').onclick = add

        /***************************************************/
        // function test() {
        //   console.log('state')
        //   const p = new Promise((resolve) => {
        //     console.log('promise')
        //     resolve('promise-2')
        //   })
        //   setTimeout(() => {
        //     Promise.resolve().then(() => console.log('promise-3'))
        //     p.then(res => console.log(res))
        //     console.log('settimeout')
        //   })
        //   console.log('end')
        // }
        // test()
        /**************************************************/
        // function test() {
        //   console.log('state');
        //   setTimeout(() => {
        //     Promise.resolve().then(()=>{console.log('promise-1')})
        //     console.log('settimeout-1');
        //   })
        //   setTimeout(()=>{
        //     Promise.resolve().then(()=>{console.log('promise-2')})
        //     console.log('settimeout-2'); 
        //   })
        //   const p = new Promise((resolve, reject) => {
        //     console.log('promise-3');
        //     resolve('promise-4')
        //   }).then(res => {
        //     console.log(res)
        //   })
        //   console.log('end');
        // }
        // test()
        // state
        // promise-3
        // end

        // promise-4

        // settimeout-1
        // promise=1

        // settimeout-2
        // promise-2
        
        
        // function test() {
        //   console.log('state');
        //   setTimeout(() => {
        //     Promise.resolve().then(()=>{console.log('promise-1')})
        //     console.log('settimeout-1');
        //   })
        //   setTimeout(()=>{
        //     Promise.resolve().then(()=>{console.log('promise-2')})
        //     console.log('settimeout-2'); 
        //   })
        //   const p = new Promise((resolve, reject) => {
        //     console.log('promise-3');
        //     resolve('promise-4')
        //   }).then(res => {
        //     console.log(res)
        //   })
        //   console.log('end');
        // }
        
        // test()


          // function obs() {
          //   console.log('mutationObserver');
          // }
  
          // const ul = document.getElementById('ul')
          // const observer = new MutationObserver(obs)
          // const config = { childList: true }
          // observer.observe(ul, config)


          // let a = [1,2,3].filter(n => n > 1).map(n => n + 1).reduce((a,b) => b - a)
    </script>
</body>
</html>